/**
 * 主角角色规格模板
 */
export const protagonistTemplate = (context: {
  name: string;
  age: string;
  personality: string;
  background?: string;
}) => `# novelspec/specs/characters/protagonist/spec.md

## Purpose
主角${context.name}的完整规格定义，AI 生成对话和行为的依据。

## Requirements

### Requirement: 基础设定
主角应该（SHALL）具有明确且一致的身份背景。

#### Scenario: 身份信息
- **WHEN** 主角出场或被提及
- **THEN** 姓名：${context.name}
- **THEN** 年龄/性别：${context.age}
- **THEN** 性格：${context.personality}
- **THEN** 背景：${context.background || '[待补充主角背景故事，如：成长经历、家庭背景、重要事件]'}
- **THEN** 外貌特征：[待补充，如：身高体型、五官特点、穿着风格]
- **THEN** 显著特点：[待补充，如：口头禅、习惯动作、独特标记]

#### Scenario: 核心特质
- **WHEN** 描述主角人设
- **THEN** 优点：[待补充 3-5 个关键词，如：理性、坚韧、善良]
- **THEN** 缺点：[待补充 2-3 个关键词，如：固执、不善表达、过于谨慎]
- **THEN** 特殊能力/才能：[待补充，如：过目不忘、音乐天赋、战斗直觉]
- **THEN** 弱点/恐惧：[待补充，如：害怕失去亲人、对某种生物过敏]

### Requirement: 能力成长
主角必须（MUST）经历可验证的成长轨迹。

#### Scenario: 初始状态（第1卷）
- **WHEN** 故事开始
- **THEN** 修为等级：[待补充，如：普通人/炼气初期]
- **THEN** 性格状态：[待补充，如：胆怯但善良]
- **THEN** 掌握技能：[待补充，如：无/基础剑法]
- **THEN** 关键关系：[待补充，如：与师父关系、与女主关系]

#### Scenario: 成长轨迹
- **WHEN** 第一卷结束
- **THEN** 修为等级：[待补充目标等级]
- **THEN** 性格变化：[待补充性格成长方向，如：从胆怯到勇敢、从冲动到理性]
- **THEN** 新增技能：[待补充要学会的技能]
- **THEN** 关系发展：[待补充关键关系的变化]

#### Scenario: 成长契机（关键转折点）
- **WHEN** 主角经历重大事件
- **THEN** 第一次转折（约X章）：[待补充事件，如：师父被杀，激发复仇决心]
- **THEN** 第二次转折（约X章）：[待补充事件，如：遇到生死危机，领悟新招式]
- **THEN** 第三次转折（约X章）：[待补充事件，如：发现真相，价值观受到冲击]
- **THEN** 最终蜕变（约X章）：[待补充事件，如：超越自我，成为真正的强者]

### Requirement: 行为模式
主角在不同情境下应该（SHALL）展现一致的行为模式。

#### Scenario: 面对危险时
- **WHEN** 遇到生命威胁
- **THEN** [待补充反应方式，如：保持冷静，理性分析局势]
- **THEN** [待补充决策倾向，如：优先寻找逃生路线]
- **THEN** [待补充战斗风格，如：不轻易与强敌硬拼]

#### Scenario: 面对诱惑时
- **WHEN** 有人提供强大力量或宝物
- **THEN** [待补充思考方式，如：先分析风险和代价]
- **THEN** [待补充决策标准，如：询问来源和附加条件]
- **THEN** [待补充底线原则，如：不贪图天降之物]

#### Scenario: 面对冲突时
- **WHEN** 与他人产生矛盾
- **THEN** [待补充处理方式，如：优先沟通解决]
- **THEN** [待补充行动准则，如：避免无意义的争斗]
- **THEN** [待补充底线，如：必要时果断出手，但不滥杀无辜]

### Requirement: 对话风格
主角的对话应该（SHALL）符合其身份和性格。

#### Scenario: 日常对话
- **WHEN** 与同辈或晚辈对话
- **THEN** 语气：[待补充，如：平和、简洁]
- **THEN** 用词：[待补充，如：不说废话，言之有物]
- **THEN** 特点：[待补充，如：偶尔展现理性思维]

#### Scenario: 面对强者对话
- **WHEN** 与前辈或强者对话
- **THEN** 态度：[待补充，如：保持尊重但不卑躬屈膝]
- **THEN** 措辞：[待补充，如：谨慎，避免冒犯]
- **THEN** 原则：[待补充，如：该坚持时不退让]

### Requirement: 核心动机
主角必须（MUST）有明确且一致的核心动机。

#### Scenario: 行动驱动力
- **WHEN** 主角做出重大决策
- **THEN** 核心目标：[待补充，如：变强以保护重要的人、复仇、寻找真相]
- **THEN** 短期目标：[待补充，如：在宗门大比中取得名次、找到某件宝物]
- **THEN** 长期目标：[待补充，如：成为最强者、推翻不公的体制、找到回家的路]
- **THEN** 深层恐惧：[待补充，如：失去亲人/朋友、被背叛、失去力量]
- **THEN** 内心渴望：[待补充，如：获得认可、找到归属感、证明自己]

#### Scenario: 价值观和底线
- **WHEN** 主角面临选择
- **THEN** 核心价值观：[待补充，如：正义、自由、保护弱小、追求真理]
- **THEN** 不可妥协的底线：[待补充，如：不伤害无辜、不背叛朋友、不做违背良心的事]
- **THEN** 可以接受的妥协：[待补充，如：为了更大目标可以暂时隐忍]
- **THEN** 行为准则：[待补充，如：以德报怨但不以德报怨、有仇必报但不株连无辜]

### Requirement: 人际关系
主角与其他角色的关系应该（SHALL）有明确的发展轨迹。

#### Scenario: 关键关系
- **WHEN** 涉及主要角色
- **THEN** 与师父/导师：[待补充关系描述，如：亦师亦友，深受影响]
- **THEN** 与爱人/女主：[待补充关系描述，如：从陌生到相知相恋]
- **THEN** 与好友/兄弟：[待补充关系描述，如：生死之交，互相扶持]
- **THEN** 与敌人/对手：[待补充关系描述，如：宿敌，但互相尊重]
- **THEN** 与家人：[待补充关系描述，如：深爱但聚少离多]

## 创作指导

### 使用本规格时
1. **行为一致性**：所有主角行为必须符合上述行为模式
   - 每次主角做决策时，参考"行为模式"章节
   - 如果行为与性格不符，必须有合理解释

2. **成长合理性**：修为提升、性格变化需要有合理的契机和过程
   - 参考"成长契机"设定关键转折点
   - 突破必须有铺垫（积累、机缘、危机）

3. **对话真实性**：对话内容和风格必须符合主角性格
   - 不同场景下的语气参考"对话风格"
   - 口头禅和用词习惯要保持一致

4. **动机驱动**：主角的行动应该由核心动机驱动，而非情节需要
   - 重大决策必须符合"核心目标"和"价值观"
   - 避免为了推进情节而让主角做不符合人设的事

### 常见错误及预防

#### ❌ 错误1：主角突然 OOC（行为偏离性格）
**症状**：一个谨慎的主角突然变得鲁莽冲动
**预防**：
- 写作前先查看"行为模式"部分
- 如需改变，先在 changes/ 中更新规格，说明契机

#### ❌ 错误2：修为突破过快，缺少铺垫
**症状**：一章从炼气3层突破到炼气7层
**预防**：
- 参考"成长轨迹"中设定的节奏
- 重大突破前至少3-5章铺垫（积累、契机、过程）

#### ❌ 错误3：对话风格不统一
**症状**：主角时而文绉绉，时而口语化
**预防**：
- 严格遵守"对话风格"中的设定
- 保持口头禅和用词习惯一致

#### ❌ 错误4：行动缺少动机支撑
**症状**：主角突然做出与核心动机矛盾的选择
**预防**：
- 对照"核心动机"和"价值观和底线"
- 如有冲突，说明内心挣扎过程

### 人设检查清单

每完成一章后，对照检查：
- [ ] 主角行为符合性格设定？
- [ ] 对话风格是否一致？
- [ ] 修为变化是否合理？
- [ ] 决策是否符合核心动机？
- [ ] 关系发展是否自然？

### 更新规格
当需要更新主角规格时：
- 使用 \`## MODIFIED Requirements\` 标记修改的部分
- 在 \`changes/<id>/specs/characters/protagonist/spec.md\` 中编写增量
- 说明修改原因（为什么主角要成长/改变）

### 示例：完整的主角设定

\`\`\`markdown
#### Scenario: 身份信息
- **WHEN** 主角出场或被提及
- **THEN** 姓名：陈凡
- **THEN** 年龄/性别：25岁/男
- **THEN** 性格：理性、谨慎、善良但不圣母
- **THEN** 背景：孤儿，在贫民窟长大，16岁时被仙门收养
- **THEN** 外貌特征：中等身材，普通面容，眼神坚毅
- **THEN** 显著特点：思考时习惯摸下巴，口头禅"再看看"

#### Scenario: 核心特质
- **WHEN** 描述主角人设
- **THEN** 优点：理性、坚韧、善于分析、忠诚、有责任感
- **THEN** 缺点：过于谨慎、不善表达情感、有时过于理性而缺少人情味
- **THEN** 特殊能力/才能：过目不忘、推理能力强、学习速度快
- **THEN** 弱点/恐惧：害怕失去亲人、对雷电有心理阴影（童年被雷击）
\`\`\`
`;

export const getProtagonistTemplate = (name: string, age: string, personality: string, background?: string) => {
  return protagonistTemplate({ name, age, personality, background });
};
